#define _GNU_SOURCE

#include <stdio.h>
#include <stdlib.h>
#include <sched.h>
#include <sys/types.h>
#include <malloc.h>

#define STACKSIZE 1048576 // en octets


int fonction(void* argument){
  printf("coucou\n");
  fflush(stdout);

  return 0;
}

int main(){

  pid_t pid;
  void* stack = malloc(STACKSIZE);
  printf("Sizeof vaut : %lu octets.\n", sizeof(char));

  //Attention, la stack est à l'envers. Il faut donc passer le pointeur qui est à la fin de la zone alouée.
pid = clone(&fonction, (char*)stack + STACKSIZE, CLONE_FILES | CLONE_FS | CLONE_SIGHAND | CLONE_VM, 0);

  sleep(1);
  return 0;
}
